<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    
</body>
<script>
    // 构造函数Array新增的方法
    // Array.from()  方法用于将两类对象转为真正的数组  类似数组的对象（array-like object）和可遍历（iterable）的对象（包括 ES6 新增的数据结构 Set 和 Map)  =>  1. 伪数组  2. Array.from()也可以将ES6新增的Map Set 转化为真数组


    // Array.of()     方法用于将一组值，转换为数组。
    // 主要目的，是弥补数组构造函数Array()的不足。因为参数个数的不同，会导致Array()的行为有差异。
 
    // new Array() 如果只接收一个参数,且是number类型的正整数  => 会生成对应长度的数据
    // var arr = new Array(10);  // 长度为10的数组,数组中只预留了位置,但是没有放任何元素
    // console.log(arr); // [,,,,,,,,,]

    // var arr = Array.of(10);  // [10]
    // console.log(arr);   


    // 数组新增的遍历方法   (forEach map filter some every) 

    // find()       查找第一个满足条件的元素, 存在 => 返回该元素  不存在  => undefined 
    // findIndex()  查找第一个满足条件的元素的下标,   存在 => 下标   不存在  => -1 
    // findLast()   查找最后一个满足条件的元素, 存在 => 返回该元素  不存在  => undefined 
    // findLastIndex()  查找最后一个满足条件的元素的下标,   存在 => 下标   不存在  => -1 


    // var list = [1,4,7,2,5,8,3,6,9];

    // var res = list.find(function(item,index,array){
    //     return  item % 2 == 0;
    // })
    // console.log(res);

    // var res = list.findIndex(function(item,index,array){
    //     return  item % 2 == 0;
    // })
    // console.log(res);


    // var res = list.findLast(function(item,index,array){
    //     return  item % 2 == 0;
    // })
    // console.log(res);

    // var res = list.findLastIndex(function(item,index,array){
    //     return  item % 2 == 0;
    // })
    // console.log(res);


    // fill()  使用给定值，填充一个数组。 => 传入一个参数,将数组中的元素覆盖为该参数
    // 返回值: 修改后的原数组
    // 是否影响原数组:  影响

    // var list = [1,4,7,2,5,8,3,6,9];
    // var res = list.fill(0);
    // console.log(res);
    // console.log(list);

    // fill方法还可以接受第二个和第三个参数，用于指定填充的起始位置和结束位置。  [startIndex,endIndex)
    // var list = [1,4,7,2,5,8,3,6,9];
    // list.fill(0,1,4);
    // console.log(list);


    // 创建一个数组,批量存储教室10盏灯的状态
    // var arr = new Array(10).fill(false);
    // console.log(arr);


    // includes() 判断数组中是否存在某个元素  存在=>true 不存在=>false
    // 注意: includes可以判断数组中是否存在NaN 
    
    // var list = [1,4,7,2,5,8,NaN,3,6,9];
    // console.log(list.includes(4));
    // console.log(list.includes(11));

    // list.indexOf(4)  比较方式, === 比较  
    // console.log(list.indexOf(4));  // 1  存在 
    // console.log(list.indexOf(NaN)); // -1 不存在   NaN === NaN =>false

    // console.log(list.includes(4));
    // console.log(list.includes(NaN));



    // flat() 数组拉平





</script>
</html>